1. Field of the Invention
The present invention relates to a distributed computer enterprise and more particularly to a system and method for performing locale-sensitive operations on a remote server.
2. Description of the Related Art
Large organizations now desire to place all of their computing resources on a computer network. To this end, it is known to connect computers in a large, geographically dispersed network environment and to manage such an environment in a distributed manner. Illustratively, one such management framework consists of a server that manages a number of nodes, each of which has a local object database that stores object data specific to the local node. Each managed node typically includes a management framework, comprising a number of management routines that is capable of a relatively large number of simultaneous network connections to remote machines. The framework manages hundreds of megabytes of local storage and can spawn many dozens of simultaneous processes to handle requests from local or remote users.
In a conventional distributed computer environment it is often assumed that a server and its clients are operating in the same locale. This assumption no longer holds true for e-business and web applications. Managed nodes are often located across national boundaries. Thus, a typical managed network of the type described above may include offices located in numerous countries. Due to the worldwide acceptance of the Internet, a server is now more likely than ever to be physically located across a time zone from a remote user. It is also likely that the remote user will make a request that requires using cultural formatting conventions that are different from those of the server's locale. Conventionally, when a server processes a request from a remote user, the server will treat the request as if it occurred in the locale of the server. Without regard to the locale of the remote user, the server will impose its own local conventions when generating the results from the remote request. The remote user then receives the results of the request in a format that is unfamiliar to the user.
FIG. 1 illustrates one example of the results from a conventional request made by a user/client on a remote server. In this example, a Spanish client 102 has invoked a locale-sensitive request on an American server 104. In the conventional distributed computer environment, the server always imposes its locale upon the client. Consequently, the Spanish client will receive results in the format and time zone of the American locale and not in the desired Spanish locale. As shown, the desired result 106 of the Spanish client 102 was dramatically different from the actual result 108 returned by the American server 104. In the actual result, the server has translated the day and month from Spanish to English language and has also changed the day/date format to an American format. The American server changed the Spanish currency format by substituting commas for periods. And finally, the American server disregarded the accent “˜” over the “n” in the Spanish word pina. This resulted in the American server providing an incorrect sorted list.
A possible solution to the conventional method is to add an extra parameter to all locale sensitive requests for conveying remote user internationalization context to the server. The parameter-addition solution, though outwardly simple, is intrusive, error prone and has serious limitations in real-life enterprise environments. For already deployed distributed applications, it is not possible to change interfaces for the introduction of extra parameters without incurring substantial network management overhead. Further, some protocols/languages will not support an extra parameter. For example, structured query language (SQL) queries do not have a placeholder to accommodate locale or time zone information.
Therefore, there is a need for a method and system for a server to process a user request using user specific internationalization context. There is also a need for such a method and system that can easily be implemented in a distributed computer network.